Repository navigation
[GDPVal] Add model-agnostic Slurm orchestration for multi-allocation rollouts - #2162
Merged
Merged
Conversation
Signed-off-by: Serge Panev <spanev@nvidia.com>
Signed-off-by: Serge Panev <spanev@nvidia.com>
…lection Signed-off-by: Serge Panev <spanev@nvidia.com>
…ault Signed-off-by: Serge Panev <spanev@nvidia.com>
…izing Signed-off-by: Serge Panev <spanev@nvidia.com>
Signed-off-by: Serge Panev <spanev@nvidia.com>
Signed-off-by: Serge Panev <spanev@nvidia.com>
Signed-off-by: Serge Panev <spanev@nvidia.com>
Signed-off-by: Serge Panev <spanev@nvidia.com>
…g it Signed-off-by: Serge Panev <spanev@nvidia.com>
…pfile Signed-off-by: Serge Panev <spanev@nvidia.com>
…r wait Signed-off-by: Serge Panev <spanev@nvidia.com>
Signed-off-by: Serge Panev <spanev@nvidia.com>
Signed-off-by: Serge Panev <spanev@nvidia.com>
This was referenced Aug 6, 2026
This was referenced Sep 8, 2026
This was referenced Oct 22, 2026
cmunley1
approved these changes
Oct 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Reference scripts for collecting GDPVal rollouts on a Slurm cluster with a
self-hosted vLLM endpoint, across more wall-clock time than a single allocation
provides.
They exist because a GDPVal rollout batch does not fit in one job. Tasks run for
tens of minutes each, allocations are time-boxed, and a run that is merely
restarted after an allocation expires silently loses or duplicates work. These
keep the model server and the rollout client in separate jobs, hand off between
allocations, and refuse to resume when the state is not provably consistent.
Nothing here is required to run GDPVal —
gym eval runis. This is for batchestoo large for one allocation.
Configuration is three independent layers
slurm/cluster.envmodels/<model>.envdatasets/<batch>.envServing a different model is a new file in
models/, not an edit to any script.run_parallel_vllm.shbuilds itsvllm serveinvocation from the profile —TP/PP/DP, GPU memory, context,
--tool-call-parser,--reasoning-parser,--kv-cache-dtype, expert-parallel, enforce-eager — plus aGDPVAL_VLLM_EXTRA_ARGSpassthrough so a new model never requires touching thelauncher.
models/glm-5.2-fp8.envandglm-5.2-bf16.envship as workedexamples: the same weights shaped for latency (2 nodes, TP=8, fp8 KV cache)
versus throughput (16 nodes, TP=4, DP=16).
Required settings have no defaults
GDPVAL_SLURM_ACCOUNT,GDPVAL_MODEL_PATH,GDPVAL_VLLM_IMAGEandGDPVAL_MODEL_BASE_NAMEexit 2 with the variable name when unset. A defaultthat looks plausible but points at the wrong model or account does not fail at
submit time — it fails hours later as bad numbers, which is far more expensive
than an error message.
Resume safety
validate_gdpval_resume_state.pygates every continuation: no duplicate ormissing task indices, and launch/source files unchanged since the run started.
Editing the launcher or validator mid-run changes their hashes and the gate
refuses to resume. That is deliberate — silently resuming against changed code
produces a batch that is two experiments stitched together.
Verification
CI does not exercise these: there is no shellcheck hook and no test covers
benchmarks/gdpval/slurm/, so a green tick here means the rest of the repo isunaffected, not that the scripts work. What they have behind them is
bash -non all 13 scripts,
py_compileon the validator, and a completed 200-taskGDPVal rollout collection driven by them end to end across 7 allocations.
Job shapes reflect the one cluster they were built and run on. Partition names,
QOS and GPUs per node are configurable, but expect to adjust
cluster.envforyours.